package main

import (
	"bufio"
	"fmt"
	"strings"
)

func main() {
	// 创建一个实现了 io.Reader 接口的字符串读取器
	reader := strings.NewReader("Hello, this is an example of Peek method!")

	// 创建一个带缓冲的读取器
	bufReader := bufio.NewReader(reader)

	// 使用 Peek 方法预览下一个 10 个字节的数据，但不读取
	peekData, err := bufReader.Peek(10)
	if err != nil {
		fmt.Println("Error peeking data:", err)
		return
	}

	fmt.Printf("Peeked %d bytes: %s\n", len(peekData), peekData)

	// 继续读取数据
	buffer := make([]byte, 10)
	n, err := bufReader.Read(buffer)
	if err != nil {
		fmt.Println("Error reading data:", err)
		return
	}
	fmt.Printf("Read %d bytes: %s\n", n, buffer[:n])
}
